﻿using System;

// Token: 0x020001D3 RID: 467
public class AgentAction
{
	// Token: 0x060009FC RID: 2556 RVA: 0x0001D4CA File Offset: 0x0001B6CA
	public virtual bool CanInterrupt()
	{
		return false;
	}

	// Token: 0x060009FD RID: 2557 RVA: 0x0001D4CA File Offset: 0x0001B6CA
	public virtual bool CanDoBoth(AgentAction anotherAction)
	{
		return false;
	}

	// Token: 0x060009FE RID: 2558 RVA: 0x000597B1 File Offset: 0x000579B1
	public virtual bool IsCompleted()
	{
		return this.hasStarted;
	}

	// Token: 0x060009FF RID: 2559 RVA: 0x000597B9 File Offset: 0x000579B9
	public virtual void Execute()
	{
		if (!this.hasStarted)
		{
			this.StartAction();
			this.hasStarted = true;
		}
		this.UpdateAction();
	}

	// Token: 0x06000A00 RID: 2560 RVA: 0x000597D9 File Offset: 0x000579D9
	public virtual void FixedExecute()
	{
		if (!this.hasStarted)
		{
			this.StartAction();
			this.hasStarted = true;
		}
		this.FixedUpdateAction();
	}

	// Token: 0x06000A01 RID: 2561 RVA: 0x00002973 File Offset: 0x00000B73
	public virtual void StartAction()
	{
	}

	// Token: 0x06000A02 RID: 2562 RVA: 0x00002973 File Offset: 0x00000B73
	public virtual void UpdateAction()
	{
	}

	// Token: 0x06000A03 RID: 2563 RVA: 0x00002973 File Offset: 0x00000B73
	public virtual void FixedUpdateAction()
	{
	}

	// Token: 0x06000A04 RID: 2564 RVA: 0x00002973 File Offset: 0x00000B73
	public virtual void Interrupt()
	{
	}

	// Token: 0x04000F76 RID: 3958
	public string name = "Unknown Action";

	// Token: 0x04000F77 RID: 3959
	public bool priority;

	// Token: 0x04000F78 RID: 3960
	public Humanoid agent;

	// Token: 0x04000F79 RID: 3961
	protected bool hasStarted;
}
